Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

best-globals

Package Overview
Dependencies
Maintainers
0
Versions
90
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

best-globals

common global function and constants - i.e. changes

  • 1.1.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
529
increased by11.37%
Maintainers
0
Weekly downloads
 
Created
Source

best-globals

common global function and constants - i.e. coalesce

stable npm-version downloads build coverage outdated-deps

language: English also available in: Spanish

Install

$ npm install best-globals

Main goal

Have handy some common global functions

API

coalesce(a [...,b] [,coalesce.throwError(message)])

Returns the first not null nor undefined parameter.

Use coalesce.throwError(message) for throw an Exception if all parameters are null or undefined.

Use coalesce.throwErrorIfUndefined(message) for throw an Exception if all parameters are undefined.

coalesce is similar to ??, but coalesce with null and undefined returns null, and ?? returns the last. Also coalesce can be used with his auxiliar functions throwError and throwErrorIfUndefined.

var coalesce = require('best-globals').coalesce;

console.log(coalesce(1,2)); // = 1
console.log(coalesce(null,3)); // = 3
console.log(coalesce(null,undefined,false,4)); // = false
console.log(coalesce(null,undefined)); // = null [1]
console.log(coalesce(undefined,null)); // = null
console.log(coalesce(undefined,undefined)); // = undefined
console.log(coalesce(undefined,coalesce.throwErrorIfUndefined('name'))); // = throw an Error [1]

Note [1] the behavior differs from ??

changing(originalConfig, changes, options)

Returns a new object like originalConfig with the changes reflected

Changes can be:

  • any value,
  • an object to apply the recursive changes (if the original is also an object)
  • a call to changes.trueByObject(changes) that means that the change only applies to non falsy values
var changing = require('best-globals').changing;

var newConfig = changing(
    {
        database:'default_db',
        port:3306,
        user:'default_user',
        throwExceptions:true
    },
    {
        database:'develop_db',
        user:'devel_user',
        password:'d3v31_u53r',
        throwExceptions:undefined
    },
    changing.options({deletingValue:undefined})
);

console.log(newConfig);
/*
    {
        database:'develop_db',
        port:3306,
        user:'devel_user',
        password:'d3v31_u53r',
    },
*/

optionsdefaultuse
deletingValueoffvalue used to delete a property
mostlyPlainfalseallows non plain object to be changed property by property

changing(new Error(msg), changes)

If the first argument is an instance of Error, It returns the same object with the changes reflected

var changing = require('best-globals').changing;

try{
  //something
  throw changing(new Error('error in example', {Gravity:'Falls'}));
}catch(err){
  console.log(err.message); // error in example
  consoel.log(err.Gravity); // Falls
}

escapeRegExp(text)

Returns de text that must be passed to RegExp for detects the exact original text.

var escapeRegExp = require('best-globals').escapeRegExp;

console.log(RegExp(escapeRegExp('a|b')).test('a|b')); // true
console.log(RegExp(escapeRegExp('a|b')).test('a')); // false
console.log(RegExp(/a|b/).test('a')); // true

forOrder(text)

Returns a unreadeable text that can be used to order the text in an human way

var forOrder = require('best-globals').forOrder;

console.log(forOrder('code X9')<forOrder('code X11')); // true

compareForOrder(criteria)

Returns a function to be pased to the sort array function.

var compareForOrder = require('best-globals').compareForOrder;

var data=[
    {lastName:'Smith', firstName:'Bob'  },
    {lastName:'Kerry', firstName:'Kelly'},
];

data.sort(compareForOrder([
    {column:'lastName' },
    {column:'firstName', order:-1}, // descending
]));

console.log(data);

sleep(milliseconds)

Suspends a promises chain for a while

var sleep = require('best-globals').sleep;

sleep(2000).then(function(){
    console.log('two seconds waited');
    return sleep(1000);
}).then(function(){
    console.log('another second waited');
    return 42;
}).then(sleep(3000)).then(function(result){
    console.log('wait three seconds and pass the result to the next "then"');
});

serie({[from:number,] to:number [,step:number]})

serie({[from:number,] length:number [,step:number]})

Returns an array with a serie of numbers starting with from (or zero), step by step (or 1); with length or until to.

var serie = require('best-globals').serie;

console.log(serie({length:3})); // [0,1,2]
console.log(serie({from:2,length:3})); // [2,3,4]
console.log(serie({from:2,to:4})); // [2,3,4]
console.log(serie({from:2,to:15,step:5})); // [2,7,12]

today()

Returns today with hour

var today = require('best-globals').today;

console.log(today()); // 2017-03-31 current date!

License

MIT

FAQs

Package last updated on 29 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc